Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/backend/privacy_mode.py db806684bcfb8686e2b276c3f6d466a3dc1f3ebb (db806684) Text, 814 B

T8b949e# SPDX-License-Identifier: 0BSD

T8b949e"""Privacy mode: block outbound HTTP/HTTPS from the backend and tighten CSP."""

Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations


Tff7b72class T56d364OutboundHttpBlockedErrorTb4b4b4(Tf85149RuntimeErrorTb4b4b4)Tb4b4b4:
T8b949e"""Raised when privacy mode blocks a server-side HTTP request."""


Tff7b72def Td2a8ffprivacy_mode_enabledTb4b4b4(Te6edf3configTb4b4b4) Tff7b72-Tff7b72> Tffa657boolTb4b4b4:
Tff7b72if Te6edf3config Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72return Tff7b72False
Te6edf3getter Tff7b72= Tffa657getattrTb4b4b4(Te6edf3configTb4b4b4, Ta5d6ff"Ta5d6ffprivacy_mode_enabledTa5d6ff"Tb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72if Te6edf3getter Tff7b72is Tff7b72NoneTb4b4b4:
Tff7b72return Tff7b72False
Tff7b72return Tffa657boolTb4b4b4(Te6edf3getterTff7b72.Td2a8ffgetTb4b4b4(Tb4b4b4)Tb4b4b4)


Tff7b72def Td2a8ffensure_outbound_http_allowedTb4b4b4(Te6edf3configTb4b4b4, Tff7b72*Tb4b4b4, Te6edf3featureTb4b4b4: Tffa657str Tff7b72= Ta5d6ff"Ta5d6ffoutbound HTTPTa5d6ff"Tb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3privacy_mode_enabledTb4b4b4(Te6edf3configTb4b4b4)Tb4b4b4:
Te6edf3msg Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffPrivacy mode is enabled; Tffd700{Te6edf3featureTffd700}Ta5d6ff is blockedTa5d6ff"
Tff7b72raise Te6edf3OutboundHttpBlockedErrorTb4b4b4(Te6edf3msgTb4b4b4)


Tff7b72def Td2a8ffcsp_allows_external_sourcesTb4b4b4(Te6edf3configTb4b4b4) Tff7b72-Tff7b72> Tffa657boolTb4b4b4:
Tff7b72return Tff7b72not Te6edf3privacy_mode_enabledTb4b4b4(Te6edf3configTb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────